home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / Python 1.1 / Misc / NEWS < prev    next >
Encoding:
Text File  |  1994-10-11  |  5.4 KB  |  154 lines  |  [TEXT/R*ch]

  1. =================================
  2. ==> Release 1.1 (11 Oct 1994) <==
  3. =================================
  4.  
  5. This release adds several new features, improved configuration and
  6. portability, and fixes more bugs than I can list here (including some
  7. memory leaks).
  8.  
  9. The source compiles and runs out of the box on more platforms than
  10. ever -- including Windows NT.  Makefiles or projects for a variety of
  11. non-UNIX platforms are provided.
  12.  
  13. APOLOGY: some new features are badly documented or not at all.  I had
  14. the choice -- postpone the new release indefinitely, or release it
  15. now, with working code but some undocumented areas.  The problem with
  16. postponing the release is that people continue to suffer from existing
  17. bugs, and send me patches based on the previous release -- which I
  18. can't apply directly because my own source has changed.  Also, some
  19. new modules (like signal) have been ready for release for quite some
  20. time, and people are anxiously waiting for them.  In the case of
  21. signal, the interface is simple enough to figure out without
  22. documentation (if you're anxious enough :-).  In this case it was not
  23. simple to release the module on its own, since it relies on many small
  24. patches elsewhere in the source.
  25.  
  26. For most new Python modules, the source code contains comments that
  27. explain how to use them.  Documentation for the Tk interface, written
  28. by Matt Conway, is available as tkinter-doc.tar.gz from the Python
  29. home and mirror ftp sites (see Misc/FAQ for ftp addresses).  For the
  30. new operator overloading facilities, have a look at Demo/classes:
  31. Complex.py and Rat.py show how to implement a numeric type without and
  32. with __coerce__ method.  Also have a look at the end of the Tutorial
  33. document (Doc/tut.tex).  If you're still confused: use the newsgroup
  34. or mailing list.
  35.  
  36.  
  37. New language features:
  38.  
  39.     - More flexible operator overloading for user-defined classes
  40.     (INCOMPATIBLE WITH PREVIOUS VERSIONS!)  See end of tutorial.
  41.  
  42.     - Classes can define methods named __getattr__, __setattr__ and
  43.     __delattr__ to trap attribute accesses.  See end of tutorial.
  44.  
  45.     - Classes can define method __call__ so instances can be called
  46.     directly.  See end of tutorial.
  47.  
  48.  
  49. New support facilities:
  50.  
  51.     - The Makefiles (for the base interpreter as well as for extensions)
  52.     now support creating dynamically loadable modules if the platform
  53.     supports shared libraries.
  54.  
  55.     - Passing the interpreter a .pyc file as script argument will execute
  56.     the code in that file.  (On the Mac such files can be double-clicked!)
  57.  
  58.     - New Freeze script, to create independently distributable "binaries"
  59.     of Python programs -- look in Demo/freeze
  60.  
  61.     - Improved h2py script (in Demo/scripts) follows #includes and
  62.     supports macros with one argument
  63.  
  64.     - New module compileall generates .pyc files for all modules in a
  65.     directory (tree) without also executing them
  66.  
  67.     - Threads should work on more platforms
  68.  
  69.  
  70. New built-in modules:
  71.  
  72.     - tkinter (support for Tcl's Tk widget set) is now part of the base
  73.     distribution
  74.  
  75.     - signal allows catching or ignoring UNIX signals (unfortunately still
  76.     undocumented -- any taker?)
  77.  
  78.     - termios provides portable access to POSIX tty settings
  79.  
  80.     - curses provides an interface to the System V curses library
  81.  
  82.     - syslog provides an interface to the (BSD?) syslog daemon
  83.  
  84.     - 'new' provides interfaces to create new built-in object types
  85.     (e.g. modules and functions)
  86.  
  87.     - sybase provides an interface to SYBASE database
  88.  
  89.  
  90. New/obsolete built-in methods:
  91.  
  92.     - callable(x) tests whether x can be called
  93.  
  94.     - sockets now have a setblocking() method
  95.  
  96.     - sockets no longer have an allowbroadcast() method
  97.  
  98.     - socket methods send() and sendto() return byte count
  99.  
  100.  
  101. New standard library modules:
  102.  
  103.     - types.py defines standard names for built-in types, e.g. StringType
  104.  
  105.     - urlparse.py parses URLs according to the latest Internet draft
  106.  
  107.     - uu.py does uuencode/uudecode (not the fastest in the world, but
  108.     quicker than installing uuencode on a non-UNIX machine :-)
  109.  
  110.     - New, faster and more powerful profile module.py
  111.  
  112.     - mhlib.py provides interface to MH folders and messages
  113.  
  114.  
  115. New facilities for extension writers (unfortunately still
  116. undocumented):
  117.  
  118.     - newgetargs() supports optional arguments and improved error messages
  119.  
  120.     - O!, O& O? formats for getargs allow more versatile type checking of
  121.     non-standard types
  122.  
  123.     - can register pending asynchronous callback, to be called the next
  124.     time the Python VM begins a new instruction (Py_AddPendingCall)
  125.  
  126.     - can register cleanup routines to be called when Python exits
  127.     (Py_AtExit)
  128.  
  129.     - makesetup script understands C++ files in Setup file (use file.C
  130.     or file.cc)
  131.  
  132.     - Make variable OPT is passed on to sub-Makefiles
  133.  
  134.     - An init<module>() routine may signal an error by not entering
  135.     the module in the module table and raising an exception instead
  136.  
  137.     - For long module names, instead of foobarbletchmodule.c you can
  138.     use foobarbletch.c
  139.  
  140.     - getintvalue() and getfloatvalue() try to convert any object
  141.     instead of requiring an "intobject" or "floatobject"
  142.  
  143.     - All the [new]getargs() formats that retrieve an integer value
  144.     will now also work if a float is passed
  145.  
  146.     - C function listtuple() converts list to tuple, fast
  147.  
  148.     - You should now call sigcheck() instead of intrcheck();
  149.     sigcheck() also sets an exception when it returns nonzero
  150.  
  151.  
  152. --Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>
  153. URL:  <http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>
  154.